package com.xbongbong.paas.connection.enums;

import lombok.Getter;

/**
 * 钉钉开票抬头类型与销帮帮抬头对应
 * 创建时间 2021/8/17 2:06 PM
 * 修改时间 2021/8/17 2:06 PM
 * @author chy
 */
@Getter
public enum StandardInvoiceTypeEnum {

	/**
	 *
	 */
	enterprise(1, "enterprise", "企业"),
	personal(2, "personal", "个人"),
	;

	/** 枚举信息--类型编码，销帮帮中存的值 */
	private final Integer code;

	/** 枚举信息--类型英文名，钉钉规范 */
	private final String alias;

	/** 枚举信息 --类型说明*/
	private final String name;

	/**
	 * 构造一个<code>StandardInvoiceTypeEnum</code>枚举对象
	 * @param code
	 * @param alias
	 * @param name
	 */
	private StandardInvoiceTypeEnum(Integer code, String alias, String name) {
		this.code = code;
		this.alias = alias;
		this.name = name;
	}

	/**
	 * 通过枚举<code>alias</code>获得枚举
	 *
	 * @param alias
	 * @return StandardInvoiceTypeEnum
	 */
	public static StandardInvoiceTypeEnum getByAlias(String alias) {
		for (StandardInvoiceTypeEnum cacheCode : values()) {
			if (cacheCode.getAlias().equals(alias)) {
				return cacheCode;
			}
		}
		return null;
	}

	/**
	 * 通过枚举<code>alias</code>获得枚举
	 *
	 * @param code
	 * @return StandardInvoiceTypeEnum
	 */
	public static StandardInvoiceTypeEnum getByCode(Integer code) {
		for (StandardInvoiceTypeEnum cacheCode : values()) {
			if (cacheCode.getCode().equals(code)) {
				return cacheCode;
			}
		}
		return null;
	}
}
